Performance Impact of Multithreaded Java Semantics on Multiprocessor Memory Consistency Models

نویسندگان

  • Lei XIE
  • Abhik ROYCHOUDHURY
  • Lei Xie
  • Abhik Roychoudhury
  • Tulika Mitra
چکیده

The semantics of Java multithreading dictates all possible behaviors that a multithreaded Java program can exhibit on any platform. This is called the Java memory model and describes the allowed re-orderings among the operations in a thread. However, multiprocessor platforms traditionally have a memory consistency model of their own. Consequently memory barriers may have to be inserted to ensure that the multiprocessor execution of a multithreaded Java program respects the Java Memory Model. In this paper, we study the impact of these additional memory barriers on multiprocessor performance. We also study how different choices of the Java Memory Model affect multiprocessor performance. Our experimental results are obtained by simulating multithreaded Java Grande benchmarks under various software and hardware memory models.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Formal Reasoning about Hardware and Software Memory Models

The Java programming language allows multithreaded programming, where threads can be run on multiprocessor or uniprocessor platforms. The allowed behaviors of any multithreaded Java program on any implementation platform (multior uni-processor), are described in terms of a memory consistency model called the Java Memory Model (JMM). However, shared memory multiprocessors have a memory model of ...

متن کامل

Deconstructing Redundant Memory Synchronization

In multiprocessor systems with weakly consistent shared memory, memory fence (also know as barrier) instructions are necessary to establish memory consistency at synchronization points in a parallel program. Programs that follow an acquire-release synchronization protocol (e.g., Java) make frequent use of such fence instructions and hence the thrifty use and efficient implementation of such ins...

متن کامل

A Generic Operational Memory Model Specification Framework for Multithreaded Program Verification

Given the complicated nature of modern architectural and language level memory model designs, it is vital to have a systematic approach for specifying memory consistency requirements that can support verification and promote understanding. In this paper, we develop a specification methodology that defines a memory model operationally using a generic transition system with integrated model check...

متن کامل

A Unified Formal Specification and Analysis of the New Java Memory Models

In a multithreaded program running on a multiprocessor platform, different processors may observe operations in different orders. This may lead to surprising results not anticipated by the programmer. The problem is exacerbated by common compiler and hardware optimization techniques. A memory (consistency) model provides a contract between the system designer and the software designer that cons...

متن کامل

A Simple Modern Correctness Condition for a Space - Based High - Performance Multiprocessor 1

A number of U.S. national programs, including space-based detection of ballistic missile launches, envisage putting significant computing power into space. Given sufficient progress in low-power VLSI, multichip-module packaging and liquid-cooling technologies, we will see design of high-performance multiprocessors for individual satellites. In very high speed implementations, performance depend...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003